//
// Created by 原帅 on 2022/11/6.
//

#ifndef R_RMESSAGEDISPATCHER_H
#define R_RMESSAGEDISPATCHER_H

#include "map"
#include "vector"
#include "RMsgProc.h"
#include "RMsgID.pb.h"

namespace RMSG
{
    class RMessage;
}

class RMessageDispatcher {
private:
    std::map<RMSG::RMessageId,std::vector<RMsgProc*>> mapDispatcher;

public:
    int dispatch(RMSG::RMessage& msg);

    RMessageDispatcher * addDispatchProcessor(RMSG::RMessageId msgid, RMsgProc* msgProc);
};


#endif //R_RMESSAGEDISPATCHER_H
